#ifndef HONGO_H_
#define HONGO_H_

#include "../ObjetoMovible.h"
#include "../Personajes/Personaje.h"

class EstadoHongo {
	
	public: 
	
	static const int Aplastado;
	static const int Chocado;
	static const int SinParticular;
	
	static const vector<int> acciones;
	static const vector<int> accionesParticulares;
	static const vector<string> descripcionAcciones;
	static const vector<string> descripcionAccionesParticulares;
	
};

class Hongo : public ObjetoMovible {
	
	vector<Animacion*> accionesParticulares;
	int estadoParticular;
	static const int PUNTOS_SUMAR = 150;
	static const int PUNTOS_RESTAR = 100;

	public:
		Hongo(int x, int y, int maximoX, int maximoY, Orientacion orientacion);
		virtual void Actualizar(Uint32 time);
		virtual int indexEstado(int estado);
		virtual pair<idImagen_t, int> getDibujable(Uint32 time);
		int getEstadoParticular();
		void setEstadoParticular(int estado);
		virtual void Morir();
		void Detener();
		
		void addAccionParticular(int idImagen, int cuadros);
		void Aplastar();
		void Chocar();
		virtual void ColisionarConPersonaje(ObjetoEstatico* personaje, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
		virtual void ColisionarConEnemigo(ObjetoEstatico* movible, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
};

#endif /* HONGO_H_ */
